﻿using Prism.Events;

namespace D.ATN.Events
{
    public class UpdateUIEvent : PubSubEvent<UpdateUIEventArgs>
    {

    }

    public class UpdateUIEventArgs
    {
        public UpdateUIEventArgs(double totalTime, double mean, double sendTime)
        {
            TotalTime = totalTime;
            Mean = mean;
            SendTime = sendTime;
        }
        public double TotalTime { get; private set; }
        public double Mean { get; private set; }
        public double SendTime { get; private set; }
    }

    public class TotalCountEvent : PubSubEvent<TotalCountEventArgs>
    {
    }

    public class TotalCountEventArgs
    {
        public TotalCountEventArgs(int totalCount)
        {
            TotalCount = totalCount;
        }
        public int TotalCount { get; private set; }
    }

    public class ErrorCountEvent : PubSubEvent<ErrorCountEventArgs>
    {
    }

    public class ErrorCountEventArgs
    {
        public ErrorCountEventArgs(int errorCount)
        {
            ErrorCount = errorCount;
        }
        public int ErrorCount { get; private set; }
    }


    public class SpcCheckResultEvent : PubSubEvent<SpcCheckResultEventArgs>
    {
    }

    public class SpcCheckResultEventArgs
    {
        public SpcCheckResultEventArgs(SpcCheckResult spcCheckResult)
        {
             SpcCheckResult = spcCheckResult;
        }

        public SpcCheckResult SpcCheckResult { get; set; }
    }
}
